package com.example.lotterysystem.controller.param;

import jakarta.validation.Valid;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

@Data
public class CreateActivityParam implements Serializable {
    /**
     * 活动名称
     */
    @NotBlank(message = "活动名称不能为空!")
    private String activityName;
    /**
     * 描述
     */
    @NotBlank(message = "描述不能为空!")
    private String description;
    /**
     * 活动 关联 奖品 列表
     * CreatePrizeByActivityParam 中的属性同样不能为空，那么也是需要进行结束的
     * 但是 @Validated 注解不能放在属性上进行约定，需要使用 @Vaild
     */
    @NotEmpty(message = "活动关联奖品列表不能为空!")
    @Valid
    private List<CreatePrizeByActivityParam> activityPrizeList;
    /**
     * 活动 关联 用户 列表
     */
    @NotEmpty(message = "活动关联用户列表不能为空!")
    @Valid
    private List<CreateUserByActivityParam> activityUserList;
}
